home *** CD-ROM | disk | FTP | other *** search
/ Enter 2006 October / Enter 10 2006.iso / boot / isolinux / initrd / in / lib / udev / firmware.sh < prev    next >
Encoding:
Linux/UNIX/POSIX Shell Script  |  2006-04-03  |  951 b   |  45 lines

  1. #!/bin/bash
  2. # $Id: firmware.agent 308 2005-01-20 11:02:49Z hare $
  3. #
  4. # HISTORY:
  5. #
  6. # 24-Jul-2003   Initial version of "new" hotplug agent.
  7.  
  8. # directories with the firmware files
  9. FIRMWARE_DIRS="/lib/firmware /usr/local/lib/firmware /usr/lib/hotplug/firmware"
  10.  
  11. #
  12. # What to do with this firmware hotplug event?
  13. #
  14. case "$ACTION" in
  15.  
  16. add)
  17.     if [ ! -e $SYSFS/$DEVPATH/loading ]; then
  18.     echo "loading of firmware is not supported"
  19.         exit 0
  20.     fi
  21.  
  22.     for DIR in $FIRMWARE_DIRS; do
  23.         [ -e "$DIR/$FIRMWARE" ] || continue
  24.     echo "loading $DIR/$FIRMWARE"
  25.         echo 1 > $SYSFS/$DEVPATH/loading
  26.         cat "$DIR/$FIRMWARE" > $SYSFS/$DEVPATH/data
  27.         echo 0 > $SYSFS/$DEVPATH/loading
  28.         exit
  29.     done
  30.  
  31.     # the firmware was not found
  32.     echo -1 > $SYSFS/$DEVPATH/loading
  33.     echo "No firmware '$FIRMWARE' available in dirs '$FIRMWARE_DIRS'"
  34.     ;;
  35.  
  36. remove)
  37.     ;;
  38.  
  39. *)
  40.     echo "Firmware '$ACTION' event not supported"
  41.     exit 1
  42.     ;;
  43.  
  44. esac
  45.